Grammatically Driven Class Derivation
نویسنده
چکیده
This effort sets out to outline a research domain of academic and commercial relevance as well as the establishment of a possible research trend in the field of software engineering. The OO approach has established itself as a widespread and effective paradigm for modern software development. Many aspects of OO development are methodologically supported and procedural and representation standards are clearly defined. Certain activities within OO development remain suited for both automated and manual interpretations. It is also a fact that many system descriptions start off as natural language accounts of business processes, rather than semi-formalised data-flow or use-case models. It is therefore being proposed that a direct-from-text reliable and complete conversion method with governing standards can be defined to automate as necessary the class derivation activity, therefore decreasing the overall development effort and error-introduction probability without effecting objectivity within the OO development process. Such a conversion method would also allow more accurate rapid prototype generation at the earliest development stages. In theory, this would enable developers to automatically generate better quality “first-cut” GUI prototypes directly from textual system descriptions. 1 OO Development Effort The effectiveness of engineering modern software systems has been an evolving multifaceted issue for a relatively long period of time [6] [7]. Several development paradigms exist each highlighting a “pathway” through the software engineering process [15]. An effective paradigm in modern software development is the Object-Oriented (OO) paradigm [4] [21]. The OO approach to system development is young enough to elicit research interest and yet, trodden enough to have proven its practical (commercial) aptness [11]. The advantages of OO-developed systems are discussed in numerous publications and are in particular elegantly outlined in Therekhov’s paper [24]. Therekhov also sensibly justifies the effort for converting non-OO-developed (“legacy”) systems into OO ones. The marked implications that the OO development paradigm has on software reusability and component-based software development, further highlight its potential. 2 OO Development Issues One of the more essential requirements for effective OO system development is the adoption of a common development platform [20]. Such a platform should include models, procedures and guidelines. Without a common development platform, much effort would be misdirected causing many of the benefits which can be gleaned through the OO paradigm to be lost. In the course of the author’s work experience within private companies supporting software development, it has been Grammatically Driven Class Derivation 41 repeatedly noted, that individual programmers exhibited definite but naturally specialised (hence limited) effectiveness. This situation is adequate for development of systems of pre-determined sophistication or the specific customisation of existing highly-sophisticated systems. However, once projects of considerable calibre are undertaken from inception, basic effort communication becomes crucial [16] [23] and the lack of a common development environment and standard modelling procedure considerably reduce development efficiency. This is an emerging phenomenon encountered by the author in many large and well-established companies in Malta. 3 OO Development Support with UML One of the most prevalent development environments supporting the OO paradigm is the Unified Modelling Language (UML) [9] [18]. UML relies on a powerful combination of graphic and textual syntax to model various aspects of a system from an OO perspective. UML has given rise to several development processes closely based on it and is fast becoming an industry-standard for OO-based system development – mainly, but not solely, due to the continuous “fine-tuning” and enriching input of a host of prestigious commercial partner establishments as well as its ever-increasing user-base. One such development process currently enjoying widespread popularity is the Unified Software Development Process (USDP) or the Rational Unified Process (RUP), or simply the Unified Process (UP) [11]. USDP is made up of the following development phases [?]: – Inception – Elaboration – Construction – Transition The phase where most of the design effort is concentrated is the Elaboration phase. This phase is made up of the following OO analysis steps: – Class modelling – Dynamic modelling – Functional modelling UML coverage of the Software Development Life Cycle (SDLC) ranges from the most abstract forms of system representation up to and including physical system models [3]. The research introduced through this document is mainly directed at issues in the Class modelling step. 4 Class Identification Issues Although UML supports all the main phases in OO software development through precisely defined frameworks, procedures and guidelines, it nevertheless lacks any form of formal enforcement. This is particularly relevant to the traditionally more subjective activities in OO development. A typical example of such an activity would be the derivation of classes from a natural language description of a system [2]. This is the core activity of the class modelling step. Through the author’s personal observation, it has been noted, that considerable system development errors are the result of incorrect or inappropriate derivation of classes from textual system descriptions. In the case of inexperienced developers or students, this form of error is manifested as missed, inconsequential
منابع مشابه
A Derivation A = > Derivation Tree Derivation A = > Derivation Tree
The basic Schema Theorem for genetic algorithms is modiied for a grammatically-based learning system. A context-free grammar is used to deene a language in which each sentence is mapped to a tness value. The derivation trees associated with these sentences are used to deene the structure of schemata. The eeect of crossover and mutation on schemata is described. A schema theorem is developed whi...
متن کاملOn the Shallow Processing (Dis)Advantage: Grammar and Economy
In the psycholinguistic literature it has been proposed that readers and listeners often adopt a "good-enough" processing strategy in which a "shallow" representation of an utterance driven by (top-down) extra-grammatical processes has a processing advantage over a "deep" (bottom-up) grammatically-driven representation of that same utterance. In the current contribution we claim, both on theore...
متن کاملSunlight-driven efficient photocatalytic and antimicrobial studies of microwave-assisted Ir-doped TiO2 nanoparticles for environmental safety
A simple, low-cost and an eco-friendly synthesis of Ir-doped titanium dioxide nanoparticles (TiO2 NPs) with an anatase phase by the microwave-assisted method using an aqueous solution of titanium tetra-isopropoxide (TTIP) and iridium (III) chloride monohydrate.<span class="CharOverride...
متن کاملGrammatical context constrains lexical competition in spoken word recognition.
When perceiving spoken language, listeners must match the incoming acoustic phonetic input to lexical representations in memory. Models that quantify this process propose that the input activates multiple lexical representations in parallel and that these activated representations compete for recognition (Weber & Scharenborg, 2012). In two experiments, we assessed how grammatically constraining...
متن کاملGenerating Instance Graphs from Class Diagrams with Adaptive Star Grammars
In model-driven software engineering, class diagrams are used to define the structure of object-oriented software and valid object configurations, i.e., what objects may occur in a program and how they are related. Object configurations are essentially graphs, so that class diagrams define graph languages. Class diagrams are declarative, i.e., it is quite easy to check whether a graph is an ins...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003